home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / sgml / nist / incs / dtddefs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-09-13  |  4.8 KB  |  106 lines

  1. /* National Institute of Standards and Technology (NIST)
  2. /* National Computer System Laboratory (NCSL)
  3. /* Office Systems Engineering (OSE) Group
  4. /* ********************************************************************
  5. /*                            D I S C L A I M E R
  6. /*                              (March 8, 1989)
  7. /*  
  8. /* There is no warranty for the NIST NCSL OSE SGML parser and/or the NIST
  9. /* NCSL OSE SGML parser validation suite.  If the SGML parser and/or
  10. /* validation suite is modified by someone else and passed on, NIST wants
  11. /* the parser's recipients to know that what they have is not what NIST
  12. /* distributed, so that any problems introduced by others will not
  13. /* reflect on our reputation.
  14. /* 
  15. /* Policies
  16. /* 
  17. /* 1. Anyone may copy and distribute verbatim copies of the SGML source
  18. /* code as received in any medium.
  19. /* 
  20. /* 2. Anyone may modify your copy or copies of SGML parser source code or
  21. /* any portion of it, and copy and distribute such modifications provided
  22. /* that all modifications are clearly associated with the entity that
  23. /* performs the modifications.
  24. /* 
  25. /* NO WARRANTY
  26. /* ===========
  27. /* 
  28. /* NIST PROVIDES ABSOLUTELY NO WARRANTY.  THE SGML PARSER AND VALIDATION
  29. /* SUITE ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  30. /* EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  31. /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  32. /* THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
  33. /* WITH YOU.  SHOULD THE SGML PARSER OR VALIDATION SUITE PROVE DEFECTIVE,
  34. /* YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  35. /* 
  36. /* IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL NIST BE LIABLE FOR
  37. /* DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL,
  38. /* INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  39. /* INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
  40. /* BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A
  41. /* FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY
  42. /* NIST) THE PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
  43. /* SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  44. */
  45.  
  46. /************************************************************************/
  47. /*   TITLE:          SGML PARSER                                        */
  48. /*   SYSTEM:         DTD PROCESSOR                                      */
  49. /*   SUBSYSTEM:                                                         */
  50. /*   SOURCE FILE:    DTDDEFS.H                                          */
  51. /*   AUTHOR:         Michael Garris                                     */
  52. /*                                                                      */
  53. /*   DATE CREATED:                                                      */
  54. /*   LAST MODIFIED:                                                     */
  55. /*                                                                      */
  56. /*                  REVISIONS                                           */
  57. /*   WHEN      WHO            WHY                                       */
  58. /************************************************************************/
  59. /************************************************************************/
  60. /* structure containing:                                                */
  61. /*                  name, syntactic literal, and parameter literal data */
  62. /************************************************************************/
  63. typedef struct SYMBOL{
  64.    char SSname[NAMELEN + 1];
  65.    int  Ssynkey;
  66.    char Sdef[LITLEN + 1];
  67. } SYMBOL;
  68.  
  69. /************************************************************************/
  70. /* structure containing:                                                */
  71. /*                 SYMBOL, and pointer to next NODE                     */
  72. /************************************************************************/
  73. typedef struct Mnode{
  74.    SYMBOL   Nsymbol;
  75.    struct   Mnode     *Nnextptr;
  76.    } NODE;
  77.  
  78. /************************************************************************/
  79. /* structure used for:                                                  */
  80. /*                    temporary handling of attributes:                 */
  81. /************************************************************************/
  82. #define MAXDECLS 50
  83.  
  84. typedef struct ANAME{
  85.    char lnames[NAMELEN + 1];
  86. ANAME;
  87.  
  88. typedef struct ATTRIBSTRUCT{
  89.    char Aname[NAMELEN];           /* attribute name, LJSF */
  90.    int Adeclcode;                /* declared value code */
  91.    int Adfltcode;                /* default value code */
  92.    char Adfltval[LITLEN + 1];     /* default value, Z-string */
  93.    int Agrpcount;                /* # of declared values in group */
  94.    ANAME Agrpnames[MAXDECLS];     /* names of group members */
  95. ATTRIBSTRUCT;
  96.  
  97. #define  MARKUP_END   '>'
  98.  
  99. /* defines for marked sections */
  100. #define MS_INCLUDE  (0)
  101. #define MS_RCDATA   (1)
  102. #define MS_CDATA    (2)
  103. #define MS_IGNORE   (3)
  104.